package com.shujia.day02;

public class DataTypeDemo3 {
    public static void main(String[] args) {
        byte b = (byte)130; // 无法直接赋值，原因是130超过了byte的最大范围，需要强制类型转换
        System.out.println(b); // -126


    }
}

/*
    计算机中的数据都是采用补码进行运算的
    130的补码：00000000 00000000 00000000 10000010

    做强制类型转换：
    补码：  (00000000 00000000 00000000) 10000010
    补码：   10000010
    已知补码求原码：
            符号位      数值位
    补码：    1        0000010
    反码：    1        0000001
    原码：    1        1111110
    -----------------------------
           64 + 32 + 16 + 8 + 4 + 2 = 126
           因为符号位是1，所以最终的结果是-126
 */
